Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support 3rd party dashboard plugins (DHIS2-17283) #3051

Open
wants to merge 95 commits into
base: master
Choose a base branch
from

Conversation

edoardo
Copy link
Member

@edoardo edoardo commented Aug 9, 2024

Implements DHIS2-17283


Key features

  1. add support for 3rd party dashboard plugins

Description

Dashboard app should have support for custom plugins built with the DHIS2 tooling.
This assumes the plugin uses the platform's components that provide the postRobot communication compatible with this version of dashboard app.


TODO

  • fix Jest tests for AppItem
  • update min versions for analytics apps

Known issues

  • tests pass but for AppItem an error happens on render (the updated snapshot makes the test pass)

Screenshots

Example with the Climate data app:
Screenshot 2024-09-06 at 16 21 59

edoardo added 24 commits August 2, 2024 13:47
This silences warnings in the console.
Link is rendering an a tag, and MenuItem does the same.
Use a redirect on click instead (already done in the print submenu)
This hopefully has a better solution.
It should be enough to just use isParentCached for knowing when to start
recording and removing the cache in the plugins.
This should fix some issues with plugin content not being visible.
This is to avoid the error boundary to show up for uncaught errors
(failed to fetch a visualization) which
interferes with Cypress testing.
@dhis2-bot
Copy link
Contributor

dhis2-bot commented Aug 9, 2024

🚀 Deployed on https://pr-3051.dashboard.netlify.dhis2.org

@dhis2-bot dhis2-bot temporarily deployed to netlify August 9, 2024 13:05 Inactive
dependabot bot and others added 4 commits August 9, 2024 15:05
* chore(deps): bump the security group with 3 updates

Updates `ejs` from 3.1.8 to 3.1.10
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v3.1.8...v3.1.10)

Updates `tmpl` from 1.0.4 to 1.0.5
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

Updates `word-wrap` from 1.2.3 to 1.2.5
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
  dependency-group: security
- dependency-name: tmpl
  dependency-type: indirect
  dependency-group: security
- dependency-name: word-wrap
  dependency-type: indirect
  dependency-group: security
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: break up command chain

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jen Jones Arnesen <[email protected]>
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](chalk/ansi-regex@v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jen Jones Arnesen <[email protected]>
@dhis2-bot dhis2-bot temporarily deployed to netlify November 15, 2024 14:30 Inactive
This is a promise that the plugin passes to dashboard app.
Regardless of the promise outcome, the dashboard item is always deleted,
but only after calling the promise.
This gives plugins a chance to do some cleanup before the iframe is
removed from the DOM.
@dhis2-bot dhis2-bot temporarily deployed to netlify November 22, 2024 15:16 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify November 25, 2024 09:31 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 2, 2024 10:16 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 2, 2024 10:21 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 2, 2024 10:43 Inactive
This is related to the previous fix of the default initialisation of
appDetails.
@dhis2-bot dhis2-bot temporarily deployed to netlify December 3, 2024 10:03 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 4, 2024 10:49 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 6, 2024 13:11 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 6, 2024 14:07 Inactive
Remove the Cover component as it does not cover anything...
@dhis2-bot dhis2-bot temporarily deployed to netlify December 11, 2024 09:54 Inactive
@edoardo edoardo removed the e2e record Apply this label to a pull request to trigger recording of E2E tests on Cypress Cloud label Dec 12, 2024
@dhis2-bot dhis2-bot temporarily deployed to netlify December 12, 2024 09:47 Inactive
Copy link

sonarcloud bot commented Dec 12, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
3 New issues
1 New Critical Issues (required ≤ 0)
3 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@dhis2-bot dhis2-bot temporarily deployed to netlify December 12, 2024 09:53 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants